草庐IT

XML 和 XSL 转换

全部标签

json - golang 将具有数组列表的 json 转换为 golang 中的结构

我刚开始接触golang,我需要从json字符串中获取数据。{"data":["2016-06-21","2016-06-22","2016-06-25"],"sid":"ab","did":"123"}现在我尝试了一个类似的结构typeIntervalDatastruct{Datajson.RawMessage`json:"data"`Didstring`json:"did"`Sidstring`json:"sid"`}typeIntervalDataList[]string和json解码代码,如r:=IntervalData{}json.Unmarshal([]byte(json)

go - 解析 plist xml

如何解析这种愚蠢格式的xml:KEY1VALUEOFKEY1KEY2VALUEOFKEY2KEY342KEY312如果所有值都具有相同的类型(例如字符串),解析将非常简单。但在我的例子中,每个值都可以是字符串、数据、整数、bool值、数组或字典。这个xml看起来很像json,但不幸的是格式是固定的,我无法更改它。而且我更喜欢没有任何外部包的解决方案。 最佳答案 使用encoding/xml提供的较低级别的解析接口(interface),它允许您迭代XML流中的各个标记(例如“开始元素”、“结束元素”等)。参见encoding/xml

go - 如何将接口(interface)转换为自定义类型

我正在尝试从json字符串中解析出特定字段,目前我有以下代码片段。packagemainimport("encoding/json""fmt")typePlatformIDstringtypeMapmap[string]interface{}funcStr2Map(strstring)(Map,error){vardictionaryMapbytes:=[]byte(str)err:=json.Unmarshal(bytes,&dictionary)iferr!=nil{fmt.Println(err)}returndictionary,err}funcparsePlatformID(

json - XML 到 json 转换

我有以下XML:2016-09-14T13:58:30Z1.2我将它解码为以下结构:typeValuestruct{Data[]Data`xml:"anyType"`}typeDatastruct{Keystring`xml:"http://www.w3.org/2001/XMLSchema-instancetype,attr"`Valuestring`xml:",chardata"`}我最终想将它们编码为这种结构的json:{timestamp:[thevalueofxsi:type="xsd:dateTime"]value:[thevalueofxsi:type="xsd:deci

xml - Golang HTTP XML 解析问题

我正在尝试访问在线可用的XML文件,但在GET之后XML格式消失了。我做错了什么?非常感谢!funcgetHttp(addressstring)string{resp,err:=http.Get(address)resp.Header.Add("Content-Type","application/xml;charset=utf-8")iferr!=nil{panic(err)}deferresp.Body.Close()data,err:=ioutil.ReadAll(resp.Body)iferr!=nil{panic(err)}return(string(data))}新格式如下

Golang 将 UTF16 字符串转换为 UTF8

我正在构建表情符号统一unicode字符与其通用名称的映射。我有代表每个表情符号的字符串,采用UTF16格式。例如,字符串“00A9”表示版权符号。我需要将其转换为utf8rune,以便我可以将其与我从用户收到的输入进行比较,但我还没有找到hex/utf16/utf8包的正确用法。 最佳答案 Parse作为整数的十六进制字符串。使用stringconversion将整数转换为UTF-8。n,err:=strconv.ParseInt("00A9",16,32)iferr!=nil{log.Fatal(err)}s:=string(r

json - 是否可以在运行中即时转换 JSON 变量名?

我目前正在实现一些将复杂结构打印到JSON中的函数。它需要变量名是小写的,这意味着在各处放置大量JSON标签。我尝试将结构转换为map,然后更改大写并将其转换回来,但是将int64转换为float64并弄乱了其他一些事情。有没有什么方法可以轻松地在go中即时转换JSON变量名? 最佳答案 如果map不是您的选择,JSON标签将是您的最佳选择。否则你需要手动修改json.Marshal的输出,这是一个[]byte将其更改为字符串,通过它解析并转换所有小写键。 关于json-是否可以在运行中

postgresql - 如何在 golang 中使用 .Format 将 time.Time 对象转换为格式化字符串?

我目前正在尝试从我的SQL数据库中获取一个time.Time对象,并将检索到的值转换为格式化字符串,如下所示:TIME_FORMAT:="%Y-%m-%dT%H:%M:%S"这是我在Python中用来做同样事情的格式,但我知道它不适合go。我已经从数据库中获取了值,现在只需要对其进行格式化。请注意,我已将ccc.Ia_date定义为interface{}类型,因为数据库中的此值可能为空。这是我的代码片段:fmt.Println(reflect.TypeOf(ccc.Ia_date))//givesmetime.Timet:=ccc.Ia_date//whichprintsas:2016

xml - 如何从 xml 的根元素获取一级注释

我的xsd文件具有以下结构:如何获得这条评论?我试着在Playground上做了https://play.golang.org/p/PVHux_Gvb7 最佳答案 正如在其他答案中提到的,xml.Unmarshal只有在它是XML元素的一部分时才能解析注释。外部图书馆xmlpath它实现了XPath规范对您的情况很有用。Install:gogetgopkg.in/xmlpath.v1让我们从您的示例xml中提取名为someTag的标记的preceding注释。import("fmt""log""strings"xmlpath"gop

xml - 如何在 golang 中制作自定义类型(字符串)编码 CDATA 格式?

微信回复消息需要这样的格式,CDATA就是解析特殊字符。12345678在使用golang实现规范时,我发现xml.Marshal()可以和struct标签xml:",cdata"一起使用。定义一个结构来处理,代码如下:packagemainimport("encoding/xml""fmt""time")typeTextMsgstruct{XMLNamexml.Name`xml:"xml"`ToUserNameCDATAFromUserNameCDATACreateTimeint64MsgTypeCDATAContentCDATA}typeCDATAstruct{Textstring